home *** CD-ROM | disk | FTP | other *** search
Wrap
SHMEM_PUT(3) SHMEM_PUT(3) NNNNAAAAMMMMEEEE sssshhhhmmmmeeeemmmm____cccchhhhaaaarrrraaaacccctttteeeerrrr____ppppuuuutttt, sssshhhhmmmmeeeemmmm____ccccoooommmmpppplllleeeexxxx____ppppuuuutttt, sssshhhhmmmmeeeemmmm____ddddoooouuuubbbblllleeee____ppppuuuutttt, sssshhhhmmmmeeeemmmm____ffffllllooooaaaatttt____ppppuuuutttt, sssshhhhmmmmeeeemmmm____iiiinnnntttt____ppppuuuutttt, sssshhhhmmmmeeeemmmm____iiiinnnntttteeeeggggeeeerrrr____ppppuuuutttt, sssshhhhmmmmeeeemmmm____llllooooggggiiiiccccaaaallll____ppppuuuutttt, sssshhhhmmmmeeeemmmm____lllloooonnnngggg____ppppuuuutttt, sssshhhhmmmmeeeemmmm____lllloooonnnnggggddddoooouuuubbbblllleeee____ppppuuuutttt, sssshhhhmmmmeeeemmmm____lllloooonnnngggglllloooonnnngggg____ppppuuuutttt, sssshhhhmmmmeeeemmmm____ppppuuuutttt, sssshhhhmmmmeeeemmmm____ppppuuuutttt4444, sssshhhhmmmmeeeemmmm____ppppuuuutttt8888, sssshhhhmmmmeeeemmmm____ppppuuuutttt33332222, sssshhhhmmmmeeeemmmm____ppppuuuutttt66664444, sssshhhhmmmmeeeemmmm____ppppuuuutttt111122228888, sssshhhhmmmmeeeemmmm____ppppuuuuttttmmmmeeeemmmm, sssshhhhmmmmeeeemmmm____rrrreeeeaaaallll____ppppuuuutttt, sssshhhhmmmmeeeemmmm____sssshhhhoooorrrrtttt____ppppuuuutttt - Transfers data to a specified processing element (PE) SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS C or C++: ####iiiinnnncccclllluuuuddddeeee <<<<mmmmpppppppp////sssshhhhmmmmeeeemmmm....hhhh>>>> vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ddddoooouuuubbbblllleeee____ppppuuuutttt((((ddddoooouuuubbbblllleeee ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt ddddoooouuuubbbblllleeee ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;; vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ffffllllooooaaaatttt____ppppuuuutttt((((ffffllllooooaaaatttt ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt ffffllllooooaaaatttt ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;; vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____iiiinnnntttt____ppppuuuutttt((((iiiinnnntttt ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt iiiinnnntttt ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;; vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____lllloooonnnngggg____ppppuuuutttt((((lllloooonnnngggg ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt lllloooonnnngggg ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;; vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____lllloooonnnnggggddddoooouuuubbbblllleeee____ppppuuuutttt((((lllloooonnnngggg ddddoooouuuubbbblllleeee ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt lllloooonnnngggg ddddoooouuuubbbblllleeee ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;; vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____lllloooonnnngggglllloooonnnngggg____ppppuuuutttt((((lllloooonnnngggg lllloooonnnngggg ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt lllloooonnnngggg lllloooonnnngggg ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;; vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ppppuuuutttt((((vvvvooooiiiidddd ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt vvvvooooiiiidddd ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;; vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ppppuuuutttt33332222((((vvvvooooiiiidddd ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt vvvvooooiiiidddd ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;; vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ppppuuuutttt66664444((((vvvvooooiiiidddd ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt vvvvooooiiiidddd ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;; vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ppppuuuutttt111122228888((((vvvvooooiiiidddd ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt vvvvooooiiiidddd ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;; vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____ppppuuuuttttmmmmeeeemmmm((((vvvvooooiiiidddd ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt vvvvooooiiiidddd ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;; vvvvooooiiiidddd sssshhhhmmmmeeeemmmm____sssshhhhoooorrrrtttt____ppppuuuutttt((((sssshhhhoooorrrrtttt ****_t_a_r_g_e_t,,,, ccccoooonnnnsssstttt sssshhhhoooorrrrtttt ****_s_o_u_r_c_e,,,, ssssiiiizzzzeeee____tttt _l_e_n,,,, iiiinnnntttt _p_e))));;;; Fortran: IIIINNNNTTTTEEEEGGGGEEEERRRR _l_e_n,,,, _p_e CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____CCCCHHHHAAAARRRRAAAACCCCTTTTEEEERRRR____PPPPUUUUTTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e)))) CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____CCCCOOOOMMMMPPPPLLLLEEEEXXXX____PPPPUUUUTTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e)))) CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____DDDDOOOOUUUUBBBBLLLLEEEE____PPPPUUUUTTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e)))) CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____IIIINNNNTTTTEEEEGGGGEEEERRRR____PPPPUUUUTTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e)))) CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____LLLLOOOOGGGGIIIICCCCAAAALLLL____PPPPUUUUTTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e)))) CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____PPPPUUUUTTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e)))) CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____PPPPUUUUTTTT4444((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e)))) CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____PPPPUUUUTTTT8888((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e)))) CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____PPPPUUUUTTTT33332222((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e)))) CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____PPPPUUUUTTTT66664444((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e)))) CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____PPPPUUUUTTTT111122228888((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e)))) CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____PPPPUUUUTTTTMMMMEEEEMMMM((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e)))) CCCCAAAALLLLLLLL SSSSHHHHMMMMEEEEMMMM____RRRREEEEAAAALLLL____PPPPUUUUTTTT((((_t_a_r_g_e_t,,,, _s_o_u_r_c_e,,,, _l_e_n,,,, _p_e)))) DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN The ppppuuuutttt routines provide a high-performance method for copying a contiguous data object from the local PE to a contiguous data object on a different PE. The routines return when the data has been copied out of the _s_o_u_r_c_e array on the local PE, but not necessarily before the data has been delivered to the remote data object. IRIX systems systems ensure that data caches stay coherent while doing remote data writes, so calls to cache management functions are not needed when using the ppppuuuutttt routines. The arguments are as follows: _t_a_r_g_e_t Data object to be updated on the remote PE. This data object must be remotely accessible. _s_o_u_r_c_e Data object containing the data to be copied. _l_e_n Number of elements in the _t_a_r_g_e_t and _s_o_u_r_c_e arrays. _l_e_n must be of type integer. If you are using Fortran, it must be a constant, variable, or array element of default integer type. _p_e PE number of the remote PE. _p_e must be of type integer. If you are using Fortran, it must be a constant, variable, or array element of default integer type. The _t_a_r_g_e_t and _s_o_u_r_c_e data objects must conform to certain typing constraints, which are as follows: RRRRoooouuuuttttiiiinnnneeee DDDDaaaattttaaaa TTTTyyyyppppeeee ooooffff _t_a_r_g_e_t aaaannnndddd _s_o_u_r_c_e sssshhhhmmmmeeeemmmm____ppppuuuutttt Any noncharacter type that has a storage size equal to 64 bits. sssshhhhmmmmeeeemmmm____ppppuuuuttttmmmmeeeemmmm Fortran: Any noncharacter type. C: Any data type. _l_e_n is scaled in bytes. sssshhhhmmmmeeeemmmm____ppppuuuutttt4444, sssshhhhmmmmeeeemmmm____ppppuuuutttt33332222 Any noncharacter type that has a storage size equal to 32 bits. sssshhhhmmmmeeeemmmm____ppppuuuutttt8888, sssshhhhmmmmeeeemmmm____ppppuuuutttt66664444 Any noncharacter type that has a storage size equal to 64 bits. sssshhhhmmmmeeeemmmm____ppppuuuutttt111122228888 Any noncharacter type that has a storage size equal to 128 bits. sssshhhhmmmmeeeemmmm____sssshhhhoooorrrrtttt____ppppuuuutttt Elements of type short. sssshhhhmmmmeeeemmmm____iiiinnnntttt____ppppuuuutttt Elements of type int. sssshhhhmmmmeeeemmmm____lllloooonnnngggg____ppppuuuutttt Elements of type long. sssshhhhmmmmeeeemmmm____lllloooonnnngggglllloooonnnngggg____ppppuuuutttt Elements of type long long. sssshhhhmmmmeeeemmmm____ffffllllooooaaaatttt____ppppuuuutttt Elements of type float. sssshhhhmmmmeeeemmmm____ddddoooouuuubbbblllleeee____ppppuuuutttt Elements of type double. sssshhhhmmmmeeeemmmm____lllloooonnnnggggddddoooouuuubbbblllleeee____ppppuuuutttt Elements of type long double. SSSSHHHHMMMMEEEEMMMM____CCCCHHHHAAAARRRRAAAACCCCTTTTEEEERRRR____PPPPUUUUTTTT Elements of type character. _l_e_n is the number of characters to transfer. The actual character lengths of the _s_o_u_r_c_e and _t_a_r_g_e_t variables are ignored. SSSSHHHHMMMMEEEEMMMM____CCCCOOOOMMMMPPPPLLLLEEEEXXXX____PPPPUUUUTTTT Elements of type complex of default size. SSSSHHHHMMMMEEEEMMMM____DDDDOOOOUUUUBBBBLLLLEEEE____PPPPUUUUTTTT (Fortran) Elements of type double precision. SSSSHHHHMMMMEEEEMMMM____IIIINNNNTTTTEEEEGGGGEEEERRRR____PPPPUUUUTTTT Elements of type integer. SSSSHHHHMMMMEEEEMMMM____LLLLOOOOGGGGIIIICCCCAAAALLLL____PPPPUUUUTTTT Elements of type logical. SSSSHHHHMMMMEEEEMMMM____RRRREEEEAAAALLLL____PPPPUUUUTTTT Elements of type real. If you are using Fortran, data types must be of default size. For example, a real variable must be declared as RRRREEEEAAAALLLL, RRRREEEEAAAALLLL****4444, or RRRREEEEAAAALLLL((((KKKKIIIINNNNDDDD====4444)))). EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS The following sssshhhhmmmmeeeemmmm____ppppuuuutttt example is for C/C++ programs: #include <mpp/shmem.h> main() { long source[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; static long target[10]; start_pes(2); if (_my_pe() == 0) { /* put 10 words into target on PE 1 */ shmem_long_put(target, source, 10, 1); } shmem_barrier_all(); /* sync sender and receiver */ if (_my_pe() == 1) shmem_udcflush(); printf("target[0] on PE %d is %d0, _my_pe(), target[0]); } SSSSEEEEEEEE AAAALLLLSSSSOOOO iiiinnnnttttrrrroooo____sssshhhhmmmmeeeemmmm(3), sssshhhhmmmmeeeemmmm____iiiippppuuuutttt(3), sssshhhhmmmmeeeemmmm____iiiixxxxppppuuuutttt(3), sssshhhhmmmmeeeemmmm____qqqquuuuiiiieeeetttt(3) _M_e_s_s_a_g_e _P_a_s_s_i_n_g _T_o_o_l_k_i_t: _M_P_I _P_r_o_g_r_a_m_m_e_r'_s _M_a_n_u_a_l